/**
 * Fichier InitialisationException.java : Définition de classe
 * fr.unice.gnpt.core.init.InitialisationException : Exceptions d'initialisation
 * 
 * Auteurs : Groupe GNPT : Gastinel, Nicolas, Pellegrino, Trovato
 */
package fr.unice.gnpt.core.util;

/**
 * Classe de représentation des Exceptions qui peuvent être soulevées lors de
 * l'initialisation
 * <p>
 * Typiquement, ces exceptions concernent les accès aux fichiers de préférences
 * qui sont enregistrées dans le répertoire personnel de l'utilitateur, ou à
 * défaut dans le répertoire temporaire du système.
 * <p>
 * <b>Changements :</b> <blockquote>
 * <p>
 * <b>0.0.1</b><br>
 * Création du fichier</li>
 * 
 * </blockquote>
 * 
 * @author gnpt
 * @version 0.0.1
 */
public class ParametresException extends Exception {

	private static final long serialVersionUID = 1L;

	/**
	 * Construit une exception d'initialisation avec un message par défaut :
	 * <i>Une exception a été soulevée lors de l'initialisation de
	 * l'application.</i>
	 */
	public ParametresException() {
		this(
				"Une exception a été soulevée lors de l'initialisation de l'application.");
	}

	/**
	 * Construit une exception d'initialisation avec le message spécifié.
	 * 
	 * @param message
	 *            un message décrivant l'exception.
	 */
	public ParametresException(String message) {
		this(message, null);
	}

	/**
	 * Construit une exception d'initialisation avec le message spécifié en
	 * chaînant la cause à l'origine de cette exception.
	 * 
	 * @param message
	 *            un message décrivant l'exception.
	 * @param cause
	 *            un Throwable à l'origine de l'exception.
	 */
	public ParametresException(String message, Throwable cause) {
		super(message, cause);
	}

	/**
	 * Construit une exception d'initialisation avec un message par défaut,
	 * concaténé avec le message de la cause spécifiée, qui sera chaîné à
	 * l'objet construit.
	 * 
	 * @param cause
	 *            un Throwable à l'origine de l'exception.
	 */
	public ParametresException(Throwable cause) {
		this(
				"Une exception a été soulevée lors de l'initialisation de l'application: "
						+ (cause == null ? "" : cause.getMessage()), cause);
	}
}
